Posts

Create a Python Snake Game! (With Code Copy Feature)

Wanna see how to code a Snake Game in Python in just seconds? Read this step-by-step tutorial and impress your friends with this cool project!

How to Create a Python Snake Game in 30 Seconds!

In this tutorial, we'll create a simple Snake Game using Python. If you're a beginner or looking for a fun project, this game is perfect. Follow the steps below, copy the code, and start coding right away!

Step 1: Install pygame

To begin, you'll need to install the pygame library. Open your terminal or command prompt and run the following command:

pip install pygame

This will install the required library to run the game.

Step 2: Copy the Snake Game Code

Once you’ve installed pygame, copy the code below and paste it into a Python file (for example, snake_game.py).

Python Snake Game Code:


import pygame
import time
import random

# Initialize pygame
pygame.init()

# Colors
white = (255, 255, 255)
yellow = (255, 255, 102)
black = (0, 0, 0)
red = (213, 50, 80)
green = (0, 255, 0)
blue = (50, 153, 213)

# Window size
width = 600
height = 400
display = pygame.display.set_mode((width, height))

# Game title
pygame.display.set_caption('Snake Game')

# Clock and speed
clock = pygame.time.Clock()
snake_speed = 15
snake_block = 10

# Font for display
font_style = pygame.font.SysFont("bahnschrift", 25)
score_font = pygame.font.SysFont("comicsansms", 35)

# Score function
def your_score(score):
    value = score_font.render(f"Your Score: {score}", True, yellow)
    display.blit(value, [0, 0])

# Snake function
def our_snake(snake_block, snake_list):
    for x in snake_list:
        pygame.draw.rect(display, green, [x[0], x[1], snake_block, snake_block])

# Game message function
def message(msg, color):
    mesg = font_style.render(msg, True, color)
    display.blit(mesg, [width / 6, height / 3])

# Game loop
def gameLoop():
    game_over = False
    game_close = False

    x1 = width / 2
    y1 = height / 2

    # Set initial movement so the snake moves at the start
    x1_change = snake_block
    y1_change = 0

    snake_list = []
    length_of_snake = 1

    foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
    foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0

    while not game_over:

        while game_close:
            display.fill(blue)
            message("You Lost! Press C-Play Again or Q-Quit", red)
            your_score(length_of_snake - 1)
            pygame.display.update()

            for event in pygame.event.get():
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_q:
                        game_over = True
                        game_close = False
                    if event.key == pygame.K_c:
                        gameLoop()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x1_change = -snake_block
                    y1_change = 0
                elif event.key == pygame.K_RIGHT:
                    x1_change = snake_block
                    y1_change = 0
                elif event.key == pygame.K_UP:
                    y1_change = -snake_block
                    x1_change = 0
                elif event.key == pygame.K_DOWN:
                    y1_change = snake_block
                    x1_change = 0

        if x1 >= width or x1 < 0 or y1 >= height or y1 < 0:
            game_close = True
        x1 += x1_change
        y1 += y1_change
        display.fill(black)
        pygame.draw.rect(display, white, [foodx, foody, snake_block, snake_block])
        snake_head = []
        snake_head.append(x1)
        snake_head.append(y1)
        snake_list.append(snake_head)
        if len(snake_list) > length_of_snake:
            del snake_list[0]

        for x in snake_list[:-1]:
            if x == snake_head:
                game_close = True

        our_snake(snake_block, snake_list)
        your_score(length_of_snake - 1)

        pygame.display.update()

        if x1 == foodx and y1 == foody:
            foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
            foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0
            length_of_snake += 1

        clock.tick(snake_speed)

    pygame.quit()
    quit()

# Start the game
gameLoop()
  

Step 3: Run the Game

Once you've copied the code and saved it in a Python file, run it by using this command in your terminal:

python snake_game.py

Use the arrow keys to control the snake, eat the food, and grow. Avoid hitting the walls or yourself!

---

Enjoy Coding!

This is a fun and quick project to practice Python programming and game development. Feel free to experiment by adjusting the speed, colors, or adding new features. Happy coding!

Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.
NextGen Digital Welcome to WhatsApp chat
Howdy! How can we help you today?
Type here...